home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
PowerPlant
/
AGA Classes 1.2
/
Utilities
/
LAGAEmbossedView.cp
< prev
next >
Wrap
Text File
|
1996-06-30
|
4KB
|
99 lines
// ===========================================================================
// LAGAEmbossedView.cp
// ===========================================================================
// “Apple Grayscale Appearance” compliant Embossed view
// Copyright © 1996 Chrisoft (Christophe ANDRES) All rights reserved.
//
// You may use this source code in any application (commercial, shareware, freeware,
// postcardware, etc), but not remove this notice (no need to acknowledge the use of
// this class in the about box)
// You may not sell this source code in any form. This source code may be placed on
// publicly accessable archive sites and source code disks. It may not be placed on
// profit archive sites and source code disks without the permission of the author,
// Christophe ANDRES.
//
// This source code is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
//
// If you make any change or improvement on this class, please send the improved/changed
// version to : chrisoft@calva.net or Christophe ANDRES
// 20, rue Prosper Mérimée
// 67100 STRASBOURG
// FRANCE
//
// ===========================================================================
// LAGAEmbossedView.h <- double-click + Command-D to see class declaration
//
// LAGAEmbossedView is my implementation of the “Apple Grayscale Appearance for System 7.5”
// Embossed view. This view performs a 3D effect similar to the one obtained with the
// LAGASecondaryGroupBox without a title. This class exists mainly for historical reasons
// and as it is a view and not only a Pane, it can contain other Panes
//
// This class requires AGAColors.cp to be present in your project
//
// Version : 1.2
//
// Change History (most recent first, date in US form : mm/dd/yy):
//
// 06/30/96 ca Public release of version 1.2
// 06/05/96 ca Added RegisterClass method to ease registry
// Increased version to 1.2
// 05/17/96 ca Increased version to 1.1
// Added PaneInColor test
// Added change history
// 04/22/96 ca class made available by Christophe ANDRES <chrisoft@calva.net>
// (version 1.0)
//
// To Do:
//
#include "LAGAEmbossedView.h"
#include "AGAColors.h"
// begin <06/05/96 ca>
void LAGAEmbossedView::RegisterClass ()
{
URegistrar::RegisterClass(LAGAEmbossedView::class_ID, (ClassCreatorFunc)LAGAEmbossedView::CreateAGAEmbossedViewStream);
}
// end <06/05/96 ca>
LAGAEmbossedView* LAGAEmbossedView::CreateAGAEmbossedViewStream (LStream* inStream)
{
return (new LAGAEmbossedView(inStream));
}
//-------Constructors-------------------------------------------------------------------------------------------------
LAGAEmbossedView::LAGAEmbossedView (LStream *inStream) : LView(inStream)
{
}
//-------Drawers----------------------------------------------------------------------------------------------------
void LAGAEmbossedView::DrawSelf ()
{
StColorPenState theState;
Rect workRect;
PenNormal();
CalcLocalFrameRect(workRect);
workRect.bottom--;
workRect.right--;
if (::PaneInColor(this))
::RGBForeColor(&gAGAColorArray[8]);
::MoveTo(workRect.left, workRect.bottom);
::LineTo(workRect.left, workRect.top);
::LineTo(workRect.right, workRect.top);
::ForeColor(whiteColor);
::MoveTo(workRect.left + 1, workRect.bottom);
::LineTo(workRect.right, workRect.bottom);
::LineTo(workRect.right, workRect.top + 1);
}